var path=require('path')//由于webpack是基于node构建的，所有webpack的配置文件中，任何合法的node代码都是支持的
var htmlWebpackplugin=require('html-webpack-plugin')//在内存中，根据指定的模版页面，同时自动把打包好的bundle注入页面底部
//如果要配置插件，需要在导出的对象中挂载一个plugins节点
module.exports={
    entry:path.join(__dirname,'./src/main.js'),
    output:{
        path: path.join(__dirname,'./dist'),
        filename:'bundle.js'
    },
    plugins:[//所有webpack插件配置节点
        new htmlWebpackplugin({
            template:path.join(__dirname,'./src/index.html'),//指定模版文件路径
            filename:'index.html'//设置生成的内存页面的名称
        })
    ],
    module:{
        rules:[
            {test: /\.css$/, use:['style-loader','css-loader'] },
            {test: /\.scss$/, use:['style-loader','css-loader','sass-loader'] },
            {test: /\.(jpg|png|gif|bmp|jpeg)$/,use:'url-loader?limit=63391&name=[hash:8]-[name].[ext]'},//处理图片路径的loader
            //?limit=固定的形式。
            //limit给定的值是图片的大小，单位是byte，如果我们引用的图片大于或等于给定的limit 值，则不会被转化为base64格式的字符串，
           // 如果图片小于给定的limit的值，则会被转化为base64格式的字符串
           //name=[name].[ext]让图片本来是什么名字，就是什么名字，
           //[hash:8]-取哈西值的前8位，区别同名的图片，并且可以保留自己的名字(哈西值一共32位)
           {test: /\.(ttf|eot|svg|woff|woff2)$/,use:'url-loader'},//处理字体文件的loader
           /* {test:/\.js$/,use:'babel-loader',exclude:/node_modules/ }, *///配置babel来转化高级的es语法
        ]
    }
}